<?php
/*
 *
 */
class Clasificados extends ActiveRecord{
    
    public function before_save() { $this->fecha_baja = date("Y-m-d H:i:s", strtotime($this->fecha_baja)); }
    
    const DIR = "/public/img/upload/";
    const DIR_BD = "upload/";
 
        public $debug = TRUE; 
        
  public function guardar()
    {   
      $file = Upload::factory('imagen','image');
        if($file->isUploaded()) 
            {      	                    
        
            $file->setMaxSize('2MB');// Tamaño máximo
            // Tipos de archivos permitidos
            //$file->setTypes(array('image/jpeg'));            
            // Extensiones permitidas
            //$file->setExtensions(array('jpg'));           
            $fileName = $_FILES["imagen"]["img"];
            
            Flash::notice($fileName);
            $fileName = md5(time()).".".getExtensionFile($fileName);
            Flash::notice($fileName);
            $this->ruta = Banners::DIR_BD.$fileName;          
            $file->setPath($ruta);
            
            $file->save($fileName);
              //Escribir esto en la bd si hay archivo 
            
              $this->img = $fileName;
              ////esto!         
                                 
             }      
 
                    $this->nombre = $_POST['clasificados']['nombre'];
                    $this->categoria_id = $_POST['clasificados']['categoria_id'];
                    $this->estatus = $_POST['clasificados']['estatus']; 
                    $this->fecha_baja = $_POST['clasificados']['fecha_baja'];

                    if($this->save())
                    {                            
                            return TRUE;
                    }
            }
            

        
        
        
        

        
        public function getInnerJoinClasificados($page=1, $ppage=20)
    {   $sql = "SELECT clasificados.id, clasificados.nombre, clasificados.estatus, clasificados.visitas, categorias.ruta, clasificados.fecha_at, clasificados.fecha_baja, categorias.nombre as categoria FROM clasificados
            INNER JOIN categorias 
            on clasificados.categoria_id = categorias.id
Where clasificados.fecha_baja > CURRENT_DATE
ORDER BY clasificados.id DESC";
    return $this->paginate_by_sql($sql, "per_page: $ppage", "page: $page");        
    }  
    
    public function getInnerJoinTopvisitas($page=1, $ppage=20)
    {   $sql = "SELECT clasificados.id, clasificados.nombre, clasificados.estatus, clasificados.visitas, categorias.nombre as categoria FROM clasificados
            INNER JOIN categorias 
            on clasificados.categoria_id = categorias.id 
ORDER BY clasificados.visitas DESC";
    return $this->paginate_by_sql($sql, "per_page: $ppage", "page: $page");        
    }  
    
    
    
    public function getClasificados($page, $ppage=20)
    {
        return $this->paginate("page: $page", "per_page: $ppage", 'order: id desc');
    }
  
    
    public function getListadoclasificado($estado='activos') 
    {
        if($estado=='activos') {
            $condicion = "estatus='1'";
        } else{
                $condicion = "estatus='0'";
            }
            
        return $this->find("conditions: $condicion", 'order: id ASC');
    }
    
//  sumar visitas
//    con la condicion id=id
//    y contamos vistas ++
    
  public function setVisitas($id) 
    {
        $this->find($id);
        $this->visitas++;
        $this->update();
        return $this;                            
    }
    
    //trabajando
    
    public function getCiudad($ciudad,$page=1, $ppage=20)
    {   $sql = "SELECT * FROM clasificados WHERE nombre LIKE '%$ciudad%'";
    return $this->paginate_by_sql($sql, "per_page: $ppage", "page: $page");        
    }   
    
   

    
 public function getInnerJoin($categoria,$page=1, $ppage=20)
    {   $sql = "SELECT clasificados.id, clasificados.nombre, clasificados.estatus, clasificados.visitas, categorias.nombre as categoria FROM clasificados
            INNER JOIN categorias 
            on clasificados.categoria_id = categorias.id
            WHERE categorias.nombre LIKE '%$categoria%'";
    return $this->paginate_by_sql($sql, "per_page: $ppage", "page: $page");        
    }  
    
    
 
 
    
    
}


    
